<?php

/**
 * Редактирование названий тестов.
 *
 */
class Tests_Backend_Questions_AddAnswer extends Kernel_Action_Form_Simple 
{
    
    /**
     * Таблица, в которой хранится редактируемый элемент.
     *
     * @var string
     */
    protected $_table = 'tests_answers';
    
    /**
     * Элементы основной таблицы, которые нужно исключить из формы.
     *
     * @var array
     */
    protected $_exclude = array('question_id', 'answer', 'right');
    
    /**
     * Инициализирует элементы формы.
     *
     */
    protected function _initElements()
    {
        parent::_initElements();
        
        $this->_addElement('answer', 'text', array(
            'caption' => 'Ответ', 
            ));
        $this->_addElement('right', 'checkbox', array(
            'caption' => 'Верный/Неверный', 
            ));
        
        $this->_setAsRequired('answer');
        Application::getResponse()->setTitle(Tests_Utils::_getQuestion());
    }
    
    /**
     * Добавляет новую запись.
     *
     */
    protected function _insert() {
        return $this->id = database::insert(
            $this->_table, 
            $this->_getValues() + array('question_id' => Application::getRequest()->get('id')));
    }
    
    /**
    * @desc Добавляем тест в location
    * 
    */
    protected function _done() 
    {
        $this->_location('?' . str_replace('add-answer', 'answers', $_SERVER['QUERY_STRING']));
    }
    
}